package com.guoheng.hazard.sys.mapper.hazard;

import com.guoheng.hazard.sys.model.dto.hazard.MajorHazardAlarmSelectDTO;
import com.guoheng.hazard.sys.model.dto.hazard.SafeOneMapDataNumDTO;
import com.guoheng.hazard.sys.model.entity.hazard.MajorHazardAlarm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
/**
 * 类功能描述:　MajorHazardAlarmMapper
 *
 * @author fbl
 * @date 2019-37-23 18:37
 */
@Mapper
public interface MajorHazardAlarmMapper {
    int deleteByPrimaryKey(Long id);

    int insert(MajorHazardAlarm record);

    int insertSelective(MajorHazardAlarm record);

    MajorHazardAlarm selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(MajorHazardAlarm record);

    int updateByPrimaryKey(MajorHazardAlarm record);


    /**
     * 方法功能描述: 查询报警列表
     *
     * @param entprId        企业id
     * @param entprName      企业姓名
     * @param alarmType      报警类型：1：温度报警；2：压力报警；3：液位报警；4：可燃气体浓度报警；5：有毒气体浓度报警；
     * @param alarmStartTime 报警开始时间
     * @param alarmEndTime   报警结束时间
     * @param alarmStatus    报警状态：1：待处理；2：已处理
     * @return List<MajorHazardAlarm>
     */
    List<MajorHazardAlarmSelectDTO> getAlarm(@Param("entprId") Long entprId, @Param("entprName") String entprName, @Param("alarmType") Integer alarmType, @Param("alarmStartTime") Date alarmStartTime, @Param("alarmEndTime") Date alarmEndTime, @Param("alarmStatus") Integer alarmStatus);

    /**
     * 方法功能描述: 得到实时报警的数量，按企业分类
     *
     * @return  List<SafeOneMapDataNumDTO>
     */
    List<SafeOneMapDataNumDTO> getAlarmNum();
}